home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / biz / demo / organize.lha / OrganiserInstall / Install Organiser next >
Text File  |  1995-05-05  |  36KB  |  1,379 lines

  1. ; $VER: Digita Organiser Installer Script 7/4/95 
  2. ; By Mark Jackson
  3. ; English Language
  4. ;
  5. ; Works for Full version
  6. ; This section contains the Text strings for translation and
  7. ; appending to the code
  8. ;
  9. ; Copyright (C) Digita International
  10.  
  11. ;------------------------------------------------------
  12. ; ### Variable declarations
  13. (set #ProgName "Organiser")
  14. (set #NumberInstallDisks 1)
  15. (set #InstallDisk "OrganiserInstall")
  16. (set #NumNewDisks 2)
  17. (set #MainDisk "Organiser")
  18. (set #FilesDisk "OrganiserExtras")
  19. (set #RamTempFile "RAM:OrgTemp")
  20. (set #RamUtils "RAM:OrgUtils")
  21. (set #HDSpaceNeededBytes (* (* 1 1024) 1024)) ;1MB free
  22. (set #ToolDest (cat #MainDisk ":Organiser"))
  23. (set #DriverDest "DEVS:Printers")
  24. (set #ThemeDefaultTool "Organiser")
  25. (set #OrgToolDest (cat #MainDisk ":" #ProgName))
  26. (set #HelpTool "HELPFILE")
  27.  
  28. ;------------------------------------------------------
  29. ; ### String declaration
  30. ;// Drawer names
  31. (set #DrawerName "Organiser")
  32. (set #FilesName "Files")
  33. (set #SuppStorageName "Supplements Storage 95")
  34. (set #SupplementsName "Supplements")
  35. (set #ThemesName "Diary Themes 95")
  36. (set #TemplatesName "Templates")
  37. (set #CatalogsName "Catalogs")
  38. (set #FontsName "Fonts")
  39. (set #LibsDefault "Libs")
  40. (set #SamplesName "Sound Samples")
  41.  
  42. ;------------------------------------------------------
  43. ;// Archive Names
  44. (set #ASLArchiveName "asl.lha")
  45. (set #CommoditiesArchiveName "commodities.lha")
  46. (set #AmigaGuideArchiveName "Amigaguide.lha")
  47. (set #DiskfontArchiveName "Diskfont.lha")
  48. (set #ProgArchiveName "Organiser.lha")
  49. (set #CatalogsArchiveName "Catalogs.lha")
  50. (set #SuppStorageArchiveName "Supp_Storage.lha")
  51. (set #SupplementsArchiveName "Supplements.lha")
  52. (set #ThemesArchiveName "Themes.lha")
  53. (set #FilesArchiveName "Files.lha")
  54. (set #TemplatesArchiveName "Templates.lha")
  55. (set #SystemFontsArchiveName "Fonts.lha")
  56. (set #StartupArchiveName "startup.lha")
  57. (set #DevicesArchiveName "Devices.lha")
  58. (set #Env-ArchiveArchiveName "Env-Archive.lha")
  59. (set #HelpArchiveName "Help.lha")
  60. (set #PrinterArchiveName "Printer.lha")
  61. (set #SoundArchiveName "Sound.lha")
  62. (set #HarpArchiveName "Harp.lha")
  63. (set #DrawerInfoArchiveName "DrawerInfo.lha")
  64. (set #ProgramInfoArchiveName "ProgramInfo.lha")
  65. (set #HDInfoArchiveName "HDInfo.lha")
  66. (set #Disk1InfoArchiveName "Disk1Info.lha")
  67. (set #Disk2InfoArchiveName "Disk2Info.lha")
  68. (set #OtherPrefsArchiveName "OtherPrefs.lha")
  69. (set #AddMonitorArchiveName "AddMonitor.lha")
  70.  
  71. ;------------------------------------------------------
  72. ;// File Names
  73. (set #LibsSource (cat #InstallDisk ":libs"))
  74.  
  75. ;------------------------------------------------------
  76. ;// Message strings
  77. (set #BadKick
  78.     (cat #ProgName " requires Workbench 2.04 or above to work correctly.")
  79. )
  80.  
  81. (set #CheckStartup
  82.     (cat "\n\n\nPlease wait...\n\nThe installer is just checking your system.")
  83. )
  84.     
  85. (set #DestChoicePrompt
  86.     (cat "\n\n\nWhere would you like to install " #ProgName "?")
  87. )
  88.  
  89. (set #FloppyChoiceMsg
  90.     (cat "On floppy disks")
  91. )
  92.  
  93. (set #HardDiskChoiceMsg
  94.     (cat "On a hard disk")
  95. )
  96.  
  97. (set #DestChoiceHelp
  98.     (cat "\nSelect the radio button \"On a hard disk\" to "
  99.         "install " #ProgName " onto your hard disk.\n\n"
  100.         "Select the radio button \"On floppy disks\" to "
  101.         "install " #ProgName " onto a set of backup disks.\n\n\n"
  102.     )
  103. )
  104.  
  105. (set #HardDiskDestChoiceMsg
  106.     (cat "Where do you want to install the\n" #DrawerName " drawer?")
  107. )
  108.  
  109. (set #HardDiskDestChoiceHelp
  110.     (cat "Select the drawer where you want to install " #ProgName
  111.         ", then click Proceed (a new drawer titled \"" #DrawerName
  112.         "\" will be created and will contain the " #ProgName " program.)"
  113.     )
  114. )
  115.  
  116. (Set #HDBootedFromFloppy
  117.     (cat "It appears you are installing to Hard-disk, but booted from the " #InstallDisk
  118.          " Floppy-disk, this will not work.\n\nPlease reset your Amiga with no floppy-disks "
  119.          "inserted so it boots from the hard-disk, then try installing " #ProgName " again."
  120.     )
  121. )
  122.  
  123.  
  124. (set #NoDiskSpaceMsg1
  125.     (cat "\nThere is insufficient available space on your hard disk to install "
  126.         #ProgName ". You will need a minimum of "
  127.     )
  128. )
  129.  
  130. (set #NoDiskSpaceMsg2
  131.     (cat "MB of free disk space.\n\nEither click \"Abort Install\" to exit this "
  132.         "installation and delete some files from your hard disk, or click \"Proceed\" and try a "
  133.         "different partition."
  134.     )
  135. )
  136.  
  137. (set #DrawerExistsMsg
  138.     (cat "\nA drawer titled \"" #DrawerName "\" already exists in "
  139.         "the destination you have chosen.\n\nDo you wish to replace it "
  140.         "or choose a new destination?\n\n"
  141.     )
  142. )
  143.  
  144. (set #DrawerExistsChoice1 "Replace it")
  145.  
  146. (set #DrawerExistsChoice2 "Choose new destination")
  147.  
  148. (set #DrawerExistsHelp
  149.     (cat "\nYou have chosen a destination drawer which already has \""
  150.         #DrawerName "\" installed there.\n\nClick \""
  151.         #DrawerExistsChoice1 "\" to replace the contents with this new version "
  152.         "of " #ProgName ".\nClick \"" #DrawerExistsChoice2 "\" to choose a "
  153.         "new destination drawer.\n\n"
  154.         "If you choose \"" #DrawerExistsChoice1 "\" then please make sure you "
  155.         "have back up copies of any documents you wish to keep."
  156.     )
  157. )
  158.  
  159. (set #InstallChoice1 "Yes - Replace it")
  160.  
  161. (set #InstallChoice2 "No")
  162.  
  163. (set #OldASLLibraryMsg
  164.     (cat "You either do not have an ASL library, or it is the wrong version. "
  165.         #ProgName " requires you have at least version 36 of this "
  166.         "library. Do you want to copy version 38 of the ASL library?"
  167.     )
  168. )
  169.  
  170. (set #OldASLLibraryHelp
  171.     (cat #ProgName " will not work properly unless you have at least version 36 "
  172.         "of the ASL library (Workbench 2.0 or above).\n\n"
  173.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  174.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  175.         "ASL library version 38."
  176.     )
  177. )
  178.  
  179. (set #OldCommoditiesLibraryMsg
  180.     (cat "You either do not have an Commodities library, or it is the wrong version. "
  181.         #ProgName " requires you have at least version 37 of this "
  182.         "library. Do you want to copy version 38 of the Commodities library?"
  183.     )
  184. )
  185.  
  186. (set #OldCommoditiesLibraryHelp
  187.     (cat #ProgName " will not work properly unless you have at least version 37 "
  188.         "of the Commodities library (Workbench 2.0 or above).\n\n"
  189.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  190.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  191.         "Commodities library version 38."
  192.     )
  193. )
  194.  
  195. (set #OldDiskFontLibraryMsg
  196.     (cat "You either do not have an DiskFont library, or it is the wrong version. "
  197.         #ProgName " requires you have at least version 36 of this "
  198.         "library. Do you want to copy version 38 of the DiskFont library?"
  199.     )
  200. )
  201.  
  202. (set #OldDiskFontLibraryHelp
  203.     (cat #ProgName " will not work properly unless you have at least version 36 "
  204.         "of the DiskFont library (Workbench 2.0 or above).\n\n"
  205.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  206.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  207.         "DiskFont library version 38 and quit this installer."
  208.     )
  209. )
  210.  
  211. (set #OldAmigaGuideLibraryMsg
  212.     (cat "You either do not have an AmigaGuide library, or it is the wrong version. "
  213.         #ProgName " requires you have at least version 34.11 of this "
  214.         "library. Do you want to copy version 34.11 of the AmigaGuide library?"
  215.     )
  216. )
  217.  
  218. (set #OldAmigaGuideLibraryHelp
  219.     (cat #ProgName " will not work properly unless you have at least version 34.11 "
  220.         "of the AmigaGuide library.\n\n"
  221.         "Choose \"" #InstallChoice1 "\" to copy version 34.11 of the library "
  222.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  223.         "AmigaGuide library version 34.11."
  224.     )
  225. )
  226.  
  227. (set #OldLocaleLibraryMsg
  228.     (cat "You either do not have an Locale library, or it is the wrong version. "
  229.         #ProgName " requires you have at least version 38 of this "
  230.         "library. Do you want to copy version 38 of the Locale library?"
  231.     )
  232. )
  233.  
  234. (set #OldLocaleLibraryHelp
  235.     (cat #ProgName " will not work properly unless you have at least version 38 "
  236.         "of the Locale library (Workbench 2.1 or above).\n\n"
  237.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  238.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  239.         "Locale library version 38."
  240.     )
  241. )
  242.  
  243. (set #OldParseLibraryMsg
  244.     (cat "You either do not have an IffParse library, or it is the wrong version. "
  245.         #ProgName " requires you have at least version 33 of this "
  246.         "library. Do you want to copy version 34 of the IffParse library?"
  247.     )
  248. )
  249.  
  250. (set #OldParseLibraryHelp
  251.     (cat #ProgName " will not work properly unless you have at least version 33 "
  252.         "of the IffParse library (Workbench 1.2 or above).\n\n"
  253.         "Choose \"" #InstallChoice1 "\" to copy version 34 of the library "
  254.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  255.         "IffParse library version 34."
  256.     )
  257. )
  258.  
  259.  
  260. (set #InsertDiskMsg
  261.     (cat "\nPlease insert the disk labelled\n\n")
  262. )
  263.  
  264. (set #diskhelp
  265.     (cat "\nIf you know that the correct disk is in the drive, but you still cannot proceed, "
  266.         "then the name of the disk is incorrect.\n"
  267.         "Ensure that the disk name is not preceded by 'copy_of_', or blank spaces before or after the disk name.\n\n\n" @askdisk-help
  268.     )
  269. )
  270.  
  271. (set #Unpackmsg1 "Unarchiving ")
  272. (set #Unpackmsg2 " to ")
  273. (set #Unpackmsg3 "\n\nPlease wait...")
  274.  
  275. (set #ArchiveAbortMsg1
  276.     (cat "There was a problem when trying to dearchive '")
  277. )
  278.  
  279. (set #ArchiveAbortMsg2
  280.     (cat "'. Please try installing to a different drawer or partition, "
  281.         "or contact Digita Technical Support."
  282.     )
  283. )
  284.  
  285. (set #BlankDiskWarning
  286.     (cat "\nPlease insert a 'blank' disk in the internal\n"
  287.         "disk drive and click \"Proceed\" when ready."
  288.         "\n\nWARNING: This procedure will destroy all information "
  289.         "that may already be on the disk."
  290.     )
  291. )
  292.  
  293.  
  294. (set #FloppyWarningHelp
  295.     (cat     "\nThis procedure uses the 'format' command to "
  296.         "wipe and prepare the disk in the internal disk drive "
  297.         "for use with Organiser."
  298.         "\n\nWrite-protect your master disks before making "
  299.         "backup copies and place the masters in a safe place."
  300.         "\n\nYou should also write-protect your backup disks "
  301.         "before clicking the \"Proceed\" button."
  302.     )
  303. )
  304.  
  305. (set #NotBlankMsg1
  306.     (cat "\nYou have the \"")
  307. )
  308.  
  309. (set #NotBlankMsg2
  310.     (cat "\" disk in your internal disk drive.\n\nPlease "
  311.         "replace this disk with a blank one, before "
  312.         "clicking the \"Proceed\" button."
  313.     )
  314. )
  315.  
  316. (set #FormatWorkingMsg
  317.     (cat "Please wait... Formatting a disk.")
  318. )
  319.  
  320. (set #FormatError
  321.     (cat     "\nAn error occured when trying to format this disk.\n\n"
  322.         "Please ensure that the disk is in the disk drive "
  323.         "before you click the \"Proceed\" button or "
  324.         "put another disk in the drive and try again."
  325.     )
  326. )
  327.  
  328. (set #FormatErrorHelp
  329.     (cat "\nAn error has occured during the formatting of "
  330.         "your disk. This could be for many reasons, but more "
  331.         "commonly, either the disk was corrupt or the drive was "
  332.         "faulty.\nPlease try a different disk, check the drive "
  333.         "and then if the problem persists, contact the Technical "
  334.         "Support Department. Information on how to get Support is "
  335.         "explained in the manual."
  336.     )
  337. )
  338.  
  339. (set #FormatCompleteMsg1
  340.     (cat " created.\n\nPlease take out the disk "
  341.         "in the internal disk drive and label it \""
  342.     )
  343. )
  344.  
  345. (set #FormatCompleteMsg2
  346.     (cat "\", then click the \"Proceed\" button.")
  347. )
  348.  
  349. (set #FormatChoiceprompt
  350.     (cat "\n" #ProgName " needs to format and name two disks during installation. "
  351.         "For more information click 'Help'. Do you wish to:"
  352. ))
  353.  
  354. (set #FormatChoicemsg1 "Slow Format Some Blank Disks")
  355.  
  356. (set #FormatChoicemsg2 "Quick Format Some Blank Disks")
  357.  
  358. (set #FormatChoice-Help
  359.     (cat "This installation utility needs to prepare two disks before installing "
  360.         #ProgName ". Before each disk is created, it will be formatted and named. "
  361.         "\n\nChoose '" #FormatChoicemsg1 "' if you wish to perform a full format, or \nchoose "
  362.         "'" #FormatChoicemsg2 "' to perform a quick format on disks that must have been "
  363.         "previously formatted as Fast File System disks."
  364. ))
  365.  
  366. (set #FloppyFinishedMsg
  367.     (cat "\nAfter clicking the 'Proceed' button, place the \"" #MainDisk
  368.         "\" disk in the internal disk drive and reset your Amiga.\n"
  369.     )
  370. )
  371.  
  372. (set #WorkingMsg (cat "Please wait...\n\nInstalling " #ProgName))
  373.  
  374. (set #CreateDiskPrompt "\n\nDo you want to create the '")
  375.  
  376. (set #ChoiceContinue "Yes")
  377.  
  378. (set #ChoiceSkip "Skip this part")
  379.  
  380. (set #CreateDiskHelp 
  381.     (cat "\nThe '" #MainDisk "' disk contains all of the " 
  382.         #ProgName " program files. \n\nIf you would like to create a "
  383.         #MainDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
  384.         "not want to create this disk the click '" #ChoiceSkip "'."
  385.     )
  386. )
  387.  
  388. (set #CreateFilesDiskHelp 
  389.     (cat "\nThe '" #FilesDisk "' disk contains the Supplements, Diary themes "
  390.         "and Templates. \n\nIf you would like to create a "
  391.         #FilesDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
  392.         "not want to create this disk the click '" #ChoiceSkip "'."
  393.     )
  394. )
  395.  
  396. (set #AskLocaleCmd "Assign >NIL: LOCALE: SYS:Locale")
  397.  
  398. (set #AskLocaleMsg
  399.     (cat "It appears Locale is not set up correctly on your hard-disk, " #ProgName
  400.          " requires this to function properly.\n\n"
  401.          "An assign needs to be added to your `User-Startup' "
  402.          "script:\n\n`" #AskLocaleCmd "'\n\nClick Proceed to continue."
  403.     )
  404. )
  405.  
  406. (set #AskLocaleHelp
  407.     (cat "For the Date and Time functions to work properly, " #ProgName " Requires "
  408.         "Locale to be set up correctly on your hard-disk, part of this involves "
  409.         "adding a LOCALE assign to your User-Startup script.\n\nClick "
  410.         "Proceed if you want the installer to do this automatically, or "
  411.         "click `Skip This Part' to not modify the User-Startup."
  412.     )
  413. )
  414.  
  415.  
  416. (set #PrinterChoicePrompt
  417.     (cat "\n\nDo you wish to install a printer driver?"
  418.     )
  419. )
  420.  
  421. (set #PrinterChoicemsg1 "Yes")
  422. (set #PrinterChoicemsg2 "No")
  423.  
  424. (set #PrinterChoice-Help 
  425.     (cat "To print from Organiser you need to have the correct printer driver selected for your "
  426.          "printer.\nClick the '" #PrinterChoicemsg1 "' button if you wish to install a printer "
  427.          "driver, or the '" #PrinterChoicemsg2 "' button if you do not want to install a printer "
  428.          "driver."
  429.     )
  430. )
  431.  
  432.  
  433.  
  434. ;------------------------------------------------------
  435. ; ### Procedure declarations
  436.  
  437. ;------------------------------------------------------
  438. ;// routine to get disk specified in '#FileSourceDisk'
  439. (procedure @GetDisk
  440.     (
  441.         (askdisk
  442.             (prompt #InsertDiskMsg #FileSourceDisk)
  443.             (help #diskhelp)
  444.             (dest #FileSourceDisk)
  445.         )
  446.     )
  447. )
  448.  
  449. ;------------------------------------------------------
  450. ;// Procedure to decompress file set in '#UnpackFile' to '#UnpackDest'
  451. (procedure @UnpackFiles
  452.     (
  453.       (working #Unpackmsg1 #UnpackFile #Unpackmsg2 #UnpackDest #Unpackmsg3)
  454.         (set ExpandName #UnpackFile)
  455.         (set #ArchiveError 0)
  456.         (set RunLhx
  457.             (cat "OrgUtils:Lhx -I -m e \"" ExpandName "\" \"" #UnpackDest "\"")
  458.         )
  459.         (set #ArchiveError (run RunLhx))
  460.         (if (> #ArchiveError 0)
  461.             (
  462.                 (set #ArchiveAbortMsg (cat #ArchiveAbortMsg1 ExpandName #ArchiveAbortMsg2))
  463.                 (abort #ArchiveAbortMsg)
  464.             )
  465.         )
  466.     )
  467. )
  468.  
  469. ;------------------------------------------------------
  470. ;// Initial Checks
  471. (procedure @InitialChecks
  472.     (
  473.         ;// Check OS version
  474.         (working #CheckStartup)
  475.         
  476.         (set #OSVerNum (getversion))
  477.         (set #OSVersion (/ #OSVerNum 65536))
  478.  
  479.         (if (< #OSVersion 37)
  480.             (abort #BadKick)
  481.         )
  482.  
  483.         ;// Create temp file in ram: for files
  484.         (if (not (exists #RamTempFile))
  485.             (
  486.                 (makedir #RamTempFile (safe))
  487.             )
  488.         )
  489.     (makeassign "OrgTemp" #RamTempFile (safe))
  490.         
  491.         ;// Create temp file in ram: for utils
  492.         (if (not (exists #RamUtils))
  493.             (
  494.                 (makedir #RamUtils (safe))
  495.             )
  496.         )
  497.     (makeassign "OrgUtils" #RamUtils (safe))
  498.  
  499.     ;// Set flag if novice user
  500.     (set #UserNovice 0)
  501.     (if (= @user-level 0)
  502.       (
  503.         (set #UserNovice 1)
  504.       )
  505.     )
  506.       (copyfiles
  507.             (source (cat #InstallDisk ":Utils"))
  508.             (dest "OrgUtils:")
  509.             (all)
  510.             (nogauge)
  511.             (optional "nofail")
  512.         )
  513.       ;// don't copy delete to OrgUtils, as it is used to delete OrgUtils!
  514.       (copyfiles
  515.             (source (cat #InstallDisk ":Utils"))
  516.             (dest "Ram:")
  517.             (pattern "delete")
  518.             (nogauge)
  519.             (optional "nofail")
  520.         )
  521.     )
  522. )
  523.  
  524. ;------------------------------------------------------
  525. ;// Check that ASL library is at least v36 (if not replace)
  526. (procedure @CheckASL
  527.     (
  528.         (set ASLVerNum (getversion (cat #LibsDefault ":ASL.library")))
  529.         (set ASLVer (/ ASLVerNum 65536))
  530.         (if (< ASLVer 36)
  531.             (
  532.         (if (= @user-level 2)
  533.             (
  534.                 (set InstallASLLibrary
  535.                   (askbool
  536.                        (prompt #OldASLLibraryMsg)
  537.                        (choices #InstallChoice1 #InstallChoice2)
  538.                        (help #OldASLLibraryHelp)
  539.                        (default 1)
  540.                   )
  541.                     )
  542.                 (if (= InstallASLLibrary 1)
  543.                      (
  544.                        (@InstallASL)
  545.                   )
  546.                 ) 
  547.               )
  548.               (
  549.                   (@InstallASL)
  550.               )
  551.             ) 
  552.           )
  553.         ) ;endif
  554.     )
  555. )
  556.  
  557. ;------------------------------------------------------
  558. ;// Procedure to install the asl library
  559. (procedure @InstallASL
  560.     (
  561.     (set #UnpackFile (cat #ArchiveLocation #ASLArchiveName))
  562.     (set #UnpackDest #LibsDest)
  563.  
  564.         (if (exists (cat #UnpackDest "asl.library"))
  565.             (delete (cat #UnpackDest "asl.library")
  566.                 (optional "force")
  567.             )
  568.         )
  569.     (@UnpackFiles)
  570.     )
  571. )
  572.  
  573. ;------------------------------------------------------
  574. ;// Check that Locale library is at least v38 (if not replace)
  575. (procedure @CheckLocale
  576.     (
  577.         (set LocaleVerNum (getversion (cat #LibsDefault ":Locale.library")))
  578.         (set LocaleVer (/ LocaleVerNum 65536))
  579.         (if (< LocaleVer 38)
  580.             (
  581.         (if (= @user-level 2)
  582.             (
  583.                 (set InstallLocaleLibrary
  584.                   (askbool
  585.                        (prompt #OldLocaleLibraryMsg)
  586.                        (choices #InstallChoice1 #InstallChoice2)
  587.                        (help #OldLocaleLibraryHelp)
  588.                        (default 1)
  589.                   )
  590.                     )
  591.                 (if (= InstallLocaleLibrary 1)
  592.                      (
  593.                        (@InstallLocale)
  594.                   )
  595.                 ) 
  596.               )
  597.               (
  598.                   (@InstallLocale)
  599.               )
  600.             ) 
  601.           )
  602.         ) ;endif
  603.     )
  604. )
  605.  
  606. ;------------------------------------------------------
  607. ;// Procedure to install the locale library
  608. (procedure @InstallLocale
  609.     (
  610.         (if (exists (cat #LibsDefault ":locale.library"))
  611.             (
  612.                 (delete (cat #LibsDefault ":locale.library")
  613.                     (optional "force")
  614.                 )
  615.             )
  616.         )
  617.  
  618.         (copyfiles
  619.             (source #LibsSource)
  620.             (dest (cat #LibsDefault ":"))
  621.             (pattern "locale.library")
  622.             (optional "force")
  623.         )
  624.     )
  625. )
  626.  
  627.  
  628. ;------------------------------------------------------
  629. ;// Check that IFFParse library is at least v33 (if not replace)
  630. (procedure @CheckParse
  631.     (
  632.         (set ParseVerNum (getversion (cat #LibsDefault ":iffparse.library")))
  633.         (set ParseVer (/ ParseVerNum 65536))
  634.         (if (< ParseVer 33)
  635.             (
  636.         (if (= @user-level 2)
  637.             (
  638.                 (set InstallParseLibrary
  639.                   (askbool
  640.                        (prompt #OldParseLibraryMsg)
  641.                        (choices #InstallChoice1 #InstallChoice2)
  642.                        (help #OldParseLibraryHelp)
  643.                        (default 1)
  644.                   )
  645.                     )
  646.                 (if (= InstallParseLibrary 1)
  647.                      (
  648.                        (@InstallParse)
  649.                   )
  650.                 ) 
  651.               )
  652.               (
  653.                   (@InstallParse)
  654.               )
  655.             ) 
  656.           )
  657.         ) ;endif
  658.     )
  659. )
  660.  
  661. ;------------------------------------------------------
  662. ;// Procedure to install the iffparse library
  663. (procedure @InstallParse
  664.     (
  665.         (if (exists (cat #LibsDefault ":iffparse.library"))
  666.             (
  667.                 (delete (cat #LibsDefault ":iffparse.library")
  668.                     (optional "force")
  669.                 )
  670.             )
  671.         )
  672.  
  673.         (copyfiles
  674.             (source #LibsSource)
  675.             (dest (cat #LibsDefault ":"))
  676.             (pattern "iffparse.library")
  677.             (optional "force")
  678.         )
  679.     )
  680. )
  681.  
  682.  
  683. ;------------------------------------------------------
  684. ;// Check that diskfont library is at least v36 (if not replace)
  685. (procedure @CheckDiskFont
  686.     (
  687.         (set DFVerNum (getversion (cat #LibsDefault ":diskfont.library")))
  688.         (set DFVer (/ DFVerNum 65536))
  689.         (if (< DFVer 36)
  690.             (
  691.         (if (= @user-level 2)
  692.             (
  693.                 (set InstallDiskFontLibrary
  694.                   (askbool
  695.                        (prompt #OldDiskFontLibraryMsg)
  696.                        (choices #InstallChoice1 #InstallChoice2)
  697.                        (help #OldDiskFontLibraryHelp)
  698.                        (default 1)
  699.                   )
  700.                     )
  701.                 (if (= InstallDiskFontLibrary 1)
  702.                      (
  703.                        (@InstallDiskFont)
  704.                   )
  705.                 ) ;end if
  706.               )
  707.               (
  708.                   (@InstallDiskFont)
  709.               )
  710.             ) ;end if
  711.           )
  712.         ) ;endif
  713.     )
  714. )
  715.  
  716. ;------------------------------------------------------
  717. ;// Procedure to install diskfont library
  718. (procedure @InstallDiskFont
  719.     (
  720.     (set #UnpackFile (cat #ArchiveLocation #DiskfontArchiveName))
  721.     (set #UnpackDest #LibsDest)
  722.         (if (exists (cat #UnpackDest "diskfont.library"))
  723.             (delete (cat #UnpackDest "diskfont.library")
  724.                 (optional "force")
  725.             )
  726.         )
  727.     (@UnpackFiles)
  728.   )
  729. )
  730.  
  731. ;------------------------------------------------------
  732. ;** Check that AmigaGuide library is at least version 34.11 (if not replace)
  733. (procedure @CheckAmigaGuide
  734.     (
  735.         (set AGVerNum (getversion (cat #LibsDefault ":amigaguide.library")))
  736.         (set AGVer (/ AGVerNum 65536))
  737.         (set AGRev (- AGVerNum (* AGVer 65536)))
  738.         (if (< AGVer 35)
  739.             (
  740.         (if (< AGRev 11)
  741.             (
  742.                 (if (= @user-level 2)
  743.                     (
  744.                         (set InstallAmigaGuideLibrary
  745.                           (askbool
  746.                                (prompt #OldAmigaGuideLibraryMsg)
  747.                                (choices #InstallChoice1 #InstallChoice2)
  748.                                (help #OldAmigaGuideLibraryHelp)
  749.                                (default 1)
  750.                           )
  751.                             )
  752.                         (if (= InstallAmigaGuideLibrary 1)
  753.                              (
  754.                                (@InstallAmigaGuide)
  755.                           )
  756.                         );end if
  757.                       )
  758.                       (
  759.                           (@InstallAmigaGuide)
  760.                       )
  761.                     ) ;end if (user-level)
  762.                   )
  763.                 ) ;end if (revision) 
  764.           )
  765.         ) ;end if (version)
  766.     )
  767. )
  768.  
  769. ;------------------------------------------------------
  770. ;// Procedure to install amigaguide library
  771. (procedure @InstallAmigaGuide
  772.     (
  773.     (set #UnpackFile (cat #ArchiveLocation #AmigaGuideArchiveName))
  774.     (set #UnpackDest #LibsDest)
  775.         (if (exists (cat #UnpackDest "amigaguide.library"))
  776.             (delete (cat #UnpackDest "amigaguide.library")
  777.                 (optional "force")
  778.             )
  779.         )
  780.     (@UnpackFiles)
  781.   )
  782. )
  783.  
  784. ;------------------------------------------------------
  785. ;// Check that commodities library is at least v37 (if not replace)
  786. (procedure @CheckCommodities
  787.     (
  788.         (set CommoditiesVerNum (getversion (cat #LibsDefault ":commodities.library")))
  789.         (set CommoditiesVer (/ CommoditiesVerNum 65536))
  790.         (if (< CommoditiesVer 37)
  791.             (
  792.         (if (= @user-level 2)
  793.             (
  794.                 (set InstallCommoditiesLibrary
  795.                   (askbool
  796.                        (prompt #OldCommoditiesLibraryMsg)
  797.                        (choices #InstallChoice1 #InstallChoice2)
  798.                        (help #OldCommoditiesLibraryHelp)
  799.                        (default 1)
  800.                   )
  801.                     )
  802.                 (if (= InstallCommoditiesLibrary 1)
  803.                      (
  804.                        (@InstallCommodities)
  805.                   )
  806.                 ) 
  807.               )
  808.               (
  809.                   (@InstallCommodities)
  810.               )
  811.             ) 
  812.           )
  813.         ) ;endif
  814.     )
  815. )
  816.  
  817. ;------------------------------------------------------
  818. ;// Procedure to install the commodities library
  819. (procedure @InstallCommodities
  820.     (
  821.     (set #UnpackFile (cat #ArchiveLocation #CommoditiesArchiveName))
  822.     (set #UnpackDest #LibsDest)
  823.  
  824.         (if (exists (cat #UnpackDest "commodities.library"))
  825.             (delete (cat #UnpackDest "commodities.library")
  826.                 (optional "force")
  827.             )
  828.         )
  829.     (@UnpackFiles)
  830.     )
  831. )
  832.  
  833. ;------------------------------------------------------
  834. ;// Procedure to de-archive screen fonts
  835. (procedure @DearchiveScreenFonts
  836.     (
  837.     (set #UnpackFile (cat #ArchiveLocation #SystemFontsArchiveName))
  838.         (set #UnpackDest #SystemFontsDest)
  839.         (@UnpackFiles)
  840.   )
  841. )
  842.  
  843. ;------------------------------------------------------
  844. ;// Procedure to de-archive Env-Archive files
  845. (procedure @DearchiveEnv-Archive
  846.     (
  847.     (set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
  848.         (set #UnpackDest #Env-ArchiveDest)
  849.         (@UnpackFiles)
  850.   )
  851. )
  852.  
  853. ;------------------------------------------------------
  854. ;// Procedure to de-archive Env files
  855. (procedure @DearchiveEnv
  856.     (
  857.     (set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
  858.         (set #UnpackDest "ENV:")
  859.         (@UnpackFiles)
  860.   )
  861. )
  862.  
  863.  
  864. ;------------------------------------------------------
  865. ;// Choose hard disk destination for Organiser drawer
  866. (procedure @ChooseHDDest
  867.     (
  868.         ;** Find default drawer
  869.         (set #DefaultDest (getassign "Work" "d"))
  870.         (if (= #DefaultDest "")
  871.             (
  872.                 (set #DefaultDest (getassign "HD3" "d"))
  873.                 (if (= #DefaultDest "")
  874.                     (
  875.                         (set #DefaultDest (getassign "HD2" "d"))
  876.                         (if (= #DefaultDest "")
  877.                 (
  878.                 (set #DefaultDest (getassign "HD1" "d"))
  879.                 (if (= #DefaultDest "")
  880.                   (
  881.                     (set #DefaultDest (getassign "DH1" "d"))
  882.                     (if (= #DefaultDest "")
  883.                       (
  884.                         (set #DefaultDest (getassign "HD0" "d"))
  885.                         (if (= #DefaultDest "")
  886.                           (
  887.                             (set #DefaultDest "DH0:")
  888.                             (if (= #UserNovice 1)
  889.                               (user 2)
  890.                             )
  891.                           )
  892.                         )
  893.                       )
  894.                     )
  895.                   )
  896.                 )
  897.               )
  898.             )
  899.           )
  900.         )
  901.             )
  902.         )
  903.         ;** Ask for destination
  904.         (set #DestDrawer
  905.             (askdir
  906.                 (prompt #HardDiskDestChoiceMsg)
  907.                 (help #HardDiskDestChoiceHelp)
  908.                 (default #DefaultDest)
  909.             )
  910.         )
  911.     (if (= #UserNovice 1)
  912.       (user 0)
  913.     )
  914.     )
  915. )
  916.  
  917.  
  918. ;------------------------------------------------------
  919. ;// Find HD Destination and check enough space
  920. (procedure @FindHDDest
  921.     (
  922.         (set OrgExists 0)
  923.     (while (= OrgExists 0)
  924.             (
  925.           (@ChooseHDDest)
  926.           (while (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
  927.             (
  928.               (if (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
  929.                 (
  930.                             (if (= @user-level 0)
  931.                               (
  932.                                 (user 2)
  933.                                 (set #UserNovice 1)
  934.                               )
  935.                             )
  936.                   (message #NoDiskSpaceMsg1 (/ (/ #HDSpaceNeededBytes 1024) 1024) #NoDiskSpaceMsg2)
  937.                   (@ChooseHDDest)
  938.                 )
  939.                  )
  940.             )
  941.             ) ;end while
  942.             (@CheckExistsAlready)
  943.         )
  944.       );end while
  945.     (if (= #UserNovice 1)
  946.       (user 0)
  947.     )
  948.     )
  949. )
  950.  
  951. ;------------------------------------------------------
  952. ;// Procedure to check if Organiser exists already in destination
  953. ;// Replace or choose again if so
  954. (procedure @CheckExistsAlready
  955.     (
  956.     (if (exists (tackon #DestDrawer #DrawerName))
  957.       (
  958.         (set ChooseAgainAnswer
  959.           (askbool
  960.             (prompt #DrawerExistsMsg)
  961.             (choices #DrawerExistsChoice1 #DrawerExistsChoice2)
  962.             (help #DrawerExistsHelp)
  963.             (default 1)
  964.           )
  965.         )
  966.         (if (= ChooseAgainAnswer 0)
  967.           (
  968.             (set OrgExists 0)
  969.           )
  970.           (
  971.             (set OrgExists 1)
  972.           )
  973.         )
  974.       )
  975.       (;else
  976.         (set OrgExists 1)
  977.       )
  978.     );endif
  979.     )
  980. )
  981.  
  982. ;------------------------------------------------------
  983. ;// Create Organiser drawers in chosen destination 
  984. (procedure @CreateDrawers
  985.     (
  986.         (working #WorkingMsg)
  987.         (set #InsideHDDest (tackon #DestDrawer #DrawerName))
  988.         ;// Make the Organiser drawer
  989.         (makedir #InsideHDDest (infos))
  990.  
  991.         ;// Make the Supplements Storage drawer
  992.         (set #HDSuppStorageDest (tackon #InsideHDDest #SuppStorageName))
  993.         (makedir #HDSuppStorageDest (infos))
  994.  
  995.         ;// Make the Supplements drawer
  996.         (set #HDSupplementsDest (tackon #InsideHDDest #SupplementsName))
  997.         (makedir #HDSupplementsDest (infos))
  998.  
  999.         ;// Make the Files drawer
  1000.         (set #HDFilesDest (tackon #InsideHDDest #FilesName))
  1001.         (makedir #HDFilesDest)
  1002.  
  1003.         ;// Make the Themes drawer
  1004.         (set #HDThemesDest (tackon #InsideHDDest #ThemesName))
  1005.         (makedir #HDThemesDest (infos))
  1006.  
  1007.         ;// Make the Samples drawer
  1008.         (set #HDSamplesDest (tackon #InsideHDDest #SamplesName))
  1009.         (makedir #HDSamplesDest (infos))
  1010.  
  1011.         ;// Make the Templates drawer
  1012.         (set #HDTemplatesDest (tackon #InsideHDDest #TemplatesName))
  1013.         (makedir #HDTemplatesDest (infos))
  1014.  
  1015.     )
  1016. )
  1017.  
  1018. ;------------------------------------------------------
  1019. ;// set up hard drive destinations
  1020. (procedure @SetUpHDProgDests
  1021.     (
  1022.         (working #WorkingMsg)
  1023.         (set #LibsDest (cat #LibsDefault ":"))
  1024.         (set #ProgDest (cat #InsideHDDest "/"))
  1025.         (set #SupplementsDest (cat #HDSupplementsDest "/"))
  1026.         (set #SuppStorageDest (cat #HDSuppStorageDest "/"))
  1027.         (set #FilesDest (cat #HDFilesDest "/"))
  1028.         (set #ThemesDest (cat #HDThemesDest "/"))
  1029.         (set #TemplatesDest (cat #HDTemplatesDest "/"))
  1030.         (set #SystemFontsDest "Fonts:")
  1031.         (set #Env-ArchiveDest "Sys:Prefs/Env-Archive/")
  1032.         (set #SamplesDest (cat #HDSamplesDest "/"))
  1033.         (set #HelpDest (cat #HDFilesDest "/"))
  1034.     )
  1035. )
  1036.  
  1037. ;------------------------------------------------------
  1038. ;// Install program files
  1039. (procedure @InstallProg
  1040.     (
  1041.       (working #WorkingMsg)
  1042.     (set #UnpackFile (cat #ArchiveLocation #ProgArchiveName))    
  1043.     (set #UnpackDest #ProgDest)
  1044.     (@UnpackFiles)
  1045.   )
  1046. )
  1047.  
  1048. ;------------------------------------------------------
  1049. ;// Install Help files
  1050. (procedure @InstallHelp
  1051.     (
  1052.       (working #WorkingMsg)
  1053.     (set #UnpackFile (cat #ArchiveLocation #HelpArchiveName))    
  1054.     (set #UnpackDest #HelpDest)
  1055.     (@UnpackFiles)
  1056.   )
  1057. )
  1058.  
  1059. ;------------------------------------------------------
  1060. ;// Install Supplements Storage
  1061. (procedure @InstallSuppStorage
  1062.     (
  1063.         (working #WorkingMsg)
  1064.     (set #UnpackFile (cat #ArchiveLocation #SuppStorageArchiveName))    
  1065.     (set #UnpackDest #SuppStorageDest)
  1066.     (@UnpackFiles)
  1067.     )
  1068. )
  1069.  
  1070. ;------------------------------------------------------
  1071. ;// Install Themes
  1072. (procedure @InstallThemes
  1073.     (
  1074.         (working #WorkingMsg)
  1075.     (set #UnpackFile (cat #ArchiveLocation #ThemesArchiveName))    
  1076.     (set #UnpackDest #ThemesDest)
  1077.     (@UnpackFiles)
  1078.     )
  1079. )
  1080.  
  1081. ;------------------------------------------------------
  1082. ;// Install Templates
  1083. (procedure @InstallTemplates
  1084.     (
  1085.         (working #WorkingMsg)
  1086.     (set #UnpackFile (cat #ArchiveLocation #TemplatesArchiveName))    
  1087.     (set #UnpackDest #TemplatesDest)
  1088.     (@UnpackFiles)
  1089.     )
  1090. )
  1091.  
  1092.  
  1093. ;------------------------------------------------------
  1094. ;// Install Files
  1095. (procedure @InstallFiles
  1096.     (
  1097.         (working #WorkingMsg)
  1098.     (set #UnpackFile (cat #ArchiveLocation #FilesArchiveName))    
  1099.     (set #UnpackDest #FilesDest)
  1100.     (@UnpackFiles)
  1101.     )
  1102. )
  1103.  
  1104. ;------------------------------------------------------
  1105. ;// Install Supplements
  1106. (procedure @InstallSupplements
  1107.     (
  1108.         (working #WorkingMsg)
  1109.     (set #UnpackFile (cat #ArchiveLocation #SupplementsArchiveName))    
  1110.     (set #UnpackDest #SupplementsDest)
  1111.     (@UnpackFiles)
  1112.     )
  1113. )
  1114.  
  1115. ;------------------------------------------------------
  1116. ;// Install Harp sample
  1117. (procedure @InstallHarp
  1118.     (
  1119.         (working #WorkingMsg)
  1120.     (set #UnpackFile (cat #ArchiveLocation #HarpArchiveName))    
  1121.     (set #UnpackDest #SamplesDest)
  1122.     (@UnpackFiles)
  1123.     )
  1124. )
  1125.  
  1126.  
  1127. ;------------------------------------------------------
  1128. ;// Routine to install printer and fonts
  1129. (procedure @AddNewPrinter
  1130.     (
  1131.     (set #FileSourceDisk #InstallDisk)
  1132.  
  1133.     ;// Delete all in OrgTemp: first...
  1134.         (run (cat "ram:delete OrgTemp:#?" ) (safe))
  1135.     (set #ChosenDriver "Generic")
  1136.     (set #DriverSource (cat #InstallDisk ":Drivers"))
  1137.         (if (= #DestinationType "Floppy")
  1138.         (
  1139.             (set #DriverDest (cat #MainDisk ":Devs/Printers"))
  1140.           )
  1141.           (
  1142.             (set #DriverDest "DEVS:Printers")
  1143.                 (set #CheckGeneric (cat #DriverDest "/" #ChosenDriver))
  1144.                 (if (exists #CheckGeneric)
  1145.                   (
  1146.                     (protect #CheckGeneric "+r+w+e+d")
  1147.                   )
  1148.                 )
  1149.           )
  1150.         )
  1151.     
  1152.     ;// Select printer (or driver) from list...
  1153.     (working #WorkingMsg)
  1154.     (set #SelectPrt
  1155.       (cat "OrgUtils:select OrgUtils:OrgPrinterList")
  1156.     )
  1157.     (run #SelectPrt (safe))
  1158.     (set #ChosenDriver (getenv "wwDriver"))
  1159.     (working #WorkingMsg)
  1160.     
  1161.     ;// driver chosen so copy it to ram...
  1162.     (copyfiles                                                
  1163.       (source #DriverSource)
  1164.       (dest #RamTempFile)
  1165.       (pattern #ChosenDriver)
  1166.       (optional "force")
  1167.       (nogauge)
  1168.     )
  1169.  
  1170.     ;// Now decompress Driver 'ChosenDriver' to destination '#RamTempFile'...
  1171.     (set #UnpackFile (tackon #RamTempFile #ChosenDriver))    
  1172.     (set #UnpackDest "OrgTemp:")
  1173.     (@UnpackFiles)
  1174.     (delete #UnpackFile)
  1175.  
  1176.     ;// get full uncompressed driver name...
  1177.     (run "c:List " #RamTempFile " LFORMAT %s >ENV:wwDriver")
  1178.     (set Driver (getenv "wwDriver"))
  1179.     (set DriverLen (strlen Driver))
  1180.     (set DriverLen (- DriverLen 1))
  1181.     (set #ChosenDriver
  1182.       (substr Driver 0 DriverLen)
  1183.     )
  1184.     ;// finally, copy driver to driver destination...
  1185.         (if (= #DestinationType "Floppy")
  1186.         (
  1187.             (set #FileSourceDisk #MainDisk)
  1188.             (@GetDisk)
  1189.         )
  1190.     )
  1191.     (copyfiles
  1192.       (source #RamTempFile)
  1193.       (dest #DriverDest)
  1194.       (pattern #ChosenDriver)
  1195.       (optional "force")
  1196.     )
  1197.   )
  1198. )
  1199.  
  1200. ;------------------------------------------------------
  1201. ;// Delete any files from Ram and temporary Ram Drawer
  1202. (procedure @CleanUp
  1203.     (
  1204.     (working #WorkingMsg)
  1205.     (makeassign "OrgTemp" (safe))
  1206.         (if (exists #RamTempFile)
  1207.         (
  1208.                 (set DeleteDrawer (cat "ram:delete " #RamTempFile " all force"))
  1209.                 (Run DeleteDrawer)
  1210.             )
  1211.         )
  1212.     (makeassign "OrgUtils" (safe))
  1213.         (if (exists #RamUtils)
  1214.         (
  1215.                 (set DeleteDrawer (cat "ram:delete " #RamUtils " all force"))
  1216.                 (Run DeleteDrawer)
  1217.             )
  1218.         )
  1219.       (delete "Ram:delete"
  1220.           (optional "force")
  1221.       )
  1222.     )
  1223. )
  1224.  
  1225. ;------------------------------------------------------
  1226. ; ### Main
  1227. (complete 0)
  1228. (welcome)
  1229. (complete 5)
  1230. (run "assign OrganiserInstall: \"\"")
  1231.  
  1232. (@InitialChecks) ;// Copies relevent files to ram also
  1233.  
  1234. (complete 10)
  1235. (set #DestinationType "Hard")
  1236.  
  1237. (if (= #DestinationType "Hard")
  1238.     (
  1239.         ;// HD
  1240.  
  1241.     ; Install to Hard-disk
  1242.     (if (= #FullPath (cat #InstallDisk ":"))
  1243.         (Abort #HDBootedFromFloppy)
  1244.     )
  1245.  
  1246.  
  1247.       (set #ArchiveLocation (cat #InstallDisk ":Archive/"))
  1248.     (set #FileSourceDisk #InstallDisk)
  1249.     (@SetUpHDProgDests)
  1250.  
  1251.  
  1252.     ;## if on Hard disk see if there's a Locale:Countries drawer
  1253.  
  1254.        (if (not (exists "Sys:Locale"))
  1255.         (
  1256.             (makedir "Sys:Locale" (infos))
  1257.  
  1258.             (startup #ProgName
  1259.                 (prompt #AskLocaleMsg)
  1260.                 (help #AskLocaleHelp)
  1261.                 (command #AskLocaleCmd)
  1262.             )
  1263.  
  1264.                (run ("Assign LOCALE: SYS:Locale"))        ; Set Assign now
  1265.  
  1266.  
  1267.             (copyfiles                                                            
  1268.                 (source (cat #InstallName ":Locale"))
  1269.                 (dest "Sys:Locale/")
  1270.                 (all)
  1271.                 (optional "force")
  1272.             )
  1273.         )
  1274.     )
  1275.  
  1276.  
  1277.         (@CheckASL)
  1278.         (@CheckCommodities)
  1279.         (@CheckLocale)
  1280.         (@CheckParse)
  1281.         (@CheckDiskFont)
  1282.         (@CheckAmigaGuide)
  1283.  
  1284.  
  1285.         (@FindHDDest)
  1286.         (@CreateDrawers)
  1287.     (@SetUpHDProgDests)
  1288.     (set @default-dest #DestDrawer)
  1289. (complete 20)
  1290.         (@DearchiveScreenFonts)
  1291.         (@DearchiveEnv-Archive)
  1292.         (@DearchiveEnv)
  1293. (complete 30)
  1294.         (@InstallProg)
  1295. (complete 40)
  1296.         (@InstallSupplements)
  1297.  
  1298.         (if (not (exists "Sys:Prefs/Sound"))
  1299.             (
  1300.                   (working #WorkingMsg)
  1301.                 (set #UnpackFile (cat #ArchiveLocation #SoundArchiveName))
  1302.                 (set #UnpackDest "Sys:Prefs/")
  1303.                 (@UnpackFiles)
  1304.             )
  1305.         )
  1306.  
  1307. (complete 50)
  1308.         (@InstallSuppStorage)
  1309. (complete 60)
  1310.         (@InstallThemes)
  1311.  
  1312.         (if (not (exists (cat #SamplesDest "Harp")))
  1313.             (
  1314.                 (@InstallHarp)
  1315.             )
  1316.         )
  1317.  
  1318. (complete 70)
  1319.         (@InstallFiles)
  1320.         (@InstallTemplates)
  1321.         (@InstallHelp)
  1322.  
  1323.  
  1324.     (set #UnpackFile (cat #ArchiveLocation #DrawerInfoArchiveName))
  1325.     (set #UnpackDest (cat #ProgDest "/"))
  1326.     (@UnpackFiles)
  1327.  
  1328.     (set #UnpackFile (cat #ArchiveLocation #HDInfoArchiveName))
  1329.     (set #UnpackDest #ProgDest)
  1330.     (@UnpackFiles)
  1331.  
  1332.     (set #UnpackFile (cat #ArchiveLocation #ProgramInfoArchiveName))
  1333.     (set #UnpackDest #ProgDest)
  1334.     (@UnpackFiles)
  1335.  
  1336.  
  1337.            (
  1338.             ;set default tool type for all Themed Diaries
  1339.             (foreach #ThemesDest "#?"
  1340.                 (
  1341.                     (tooltype
  1342.                         (dest (cat #ThemesDest @each-name))
  1343.                         (setdefaulttool (cat #ProgDest #ThemeDefaultTool))
  1344.                     )
  1345.                 )
  1346.             )
  1347.         )
  1348.  
  1349. (complete 80)
  1350.     )
  1351. )
  1352.  
  1353. (complete 90)
  1354.  
  1355.     (set #InstallPrinter 1)
  1356.  
  1357.     (if (>= @user-level 1) ; Intermediate or Expert only
  1358.         (
  1359.             (set #InstallPrinter
  1360.                 (askbool
  1361.                     (prompt #PrinterChoicePrompt)
  1362.                     (choices #PrinterChoicemsg1 #PrinterChoicemsg2)
  1363.                     (help #PrinterChoice-help)
  1364.                     (default 0)
  1365.                 )
  1366.             )
  1367.         )
  1368.     )
  1369.  
  1370. (if (= #InstallPrinter 1)
  1371.     (
  1372.         (@AddNewPrinter)
  1373.     )
  1374. )
  1375.  
  1376. (@CleanUp)
  1377. (complete 100)
  1378. (exit)
  1379.